-- Roll over object, Dave Code property mySprite, rollCast, actorNum, birthFrame, visState, myLoc -- append( rollerList, birth( script "rollOverParent", 18, gCastStart)) -- actUp getat(rollerList,1) on birth me, sNum, rCast global gNullChannel set myLoc = the loc of sprite gNullChannel set mySprite = sNum set visState = 0 set rollCast = rCast set birthframe = the frame return me end on checkRoll me global gNullChannel if rollover(mySprite) and visState = 0 and the puppet of sprite gNullChannel = 0 then put "rollUp" puppetSprite gNullChannel, 1 set the loc of sprite gNullChannel = myLoc set the castnum of sprite gNullChannel = rollCast updatestage set visState = 1 else if not rollover(mySprite) and visState = 1 and the puppet of sprite gNullChannel = 1 then put "rollDown" set the loc of sprite gNullChannel = point(-500,-500) updatestage puppetSprite gNullChannel, 0 set visState = 0 end if end if end on stepFrame me global rollerlist checkRoll if the frame > birthframe + 2 or the frame < birthframe then actDown me end if end on actUp me append(the actorlist, me) end on actDown me killObj me end on rollerInit global gRollStart, gRollCount, gNullChannel, gCastStart, rollerlist if objectP(Rollerlist) then repeat with i = 1 to count(rollerList) actDown getAt(rollerList, i) end repeat end if puppetSprite gNullChannel, 0 set rollerlist = [] repeat with i = 0 to gRollCount - 1 append( rollerList, birth( script "rollOverParent", gRollStart + i, gCastStart + i)) actUp getat(rollerList,i + 1) end repeat end on killObj theObj set mynum = getPos(the actorlist, theobj) -- into myNum if myNum > 0 then put getat(the actorlist, myNum) into temp put "My Actor is" & myNum deleteAt the actorlist, myNum end if end on exitFrame global gRollStart, gRollCount, gNullChannel, gCastStart global gRoom, gBkgndRandomCount, rollerlist set gRollStart = 18 set gRoom = "PA" set gRollCount = 4 set gCastStart = the number of cast "PAtoBAbtn" set gBkgndRandomCount = 1 -- Dave code rollerInit end